package com.sec.etech.employeesync.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description 人员主表
 * @Author 陈健
 * @Date 2024-08-22
 */

@Data
@TableName("org_employee")
public class OrgEmployee implements Serializable {

    private static final long serialVersionUID = 706392186491150988L;

    /**
     * 主键
     */
    @TableId
    private Long employeeid;

    /**
     * 工号
     */
    @TableField(value = "account")
    private String account;

    /**
     * 姓名
     */
    @TableField(value = "fullname")
    private String fullname;

    /**
     * 性别：1-男，0-女，null-未知
     */
    @TableField(value = "sex")
    private Integer sex;

    /**
     * 民族
     */
    @TableField(value = "ethnicity_id")
    private Long ethnicityId;

    /**
     * 出生日期
     */
    @TableField(value = "birth_date")
    private Date birthDate;

    /**
     * 年龄
     */
    @TableField(value = "age")
    private Integer age;

    /**
     * 国籍
     */
    @TableField(value = "nationality_id")
    private Long nationalityId;

    /**
     * 籍贯
     */
    @TableField(value = "native_place_id")
    private Long nativePlaceId;

    /**
     * 手机号码
     */
    @TableField(value = "mobile")
    private String mobile;

    /**
     * 政治面貌
     */
    @TableField(value = "politics_id")
    private Long politicsId;

    /**
     * 产业集团（二级）
     */
    @TableField(value = "industrial_group_id")
    private Long industrialGroupId;

    /**
     * 公司（三级）
     */
    @TableField(value = "company_id")
    private Long companyId;

    /**
     * 所属公司
     */
    @TableField(value = "personnel_department")
    private String personnelDepartment;

    /**
     * 一级部门
     */
    @TableField(value = "primary_department_id")
    private Long primaryDepartmentId;

    /**
     * 二级部门
     */
    @TableField(value = "secondary_department_id")
    private Long secondaryDepartmentId;

    /**
     * 三级部门
     */
    @TableField(value = "tertiary_department_id")
    private Long tertiaryDepartmentId;

    /**
     * 岗位
     */
    @TableField(value = "job_name")
    private String jobName;

    /**
     * 一级岗位目录
     */
    @TableField(value = "primary_level_job_id")
    private Long primaryLevelJobId;

    /**
     * 二级岗位目录
     */
    @TableField(value = "secondary_level_job_id")
    private Long secondaryLevelJobId;

    /**
     * 三级岗位目录
     */
    @TableField(value = "tertiary_level_job_id")
    private Long tertiaryLevelJobId;

    /**
     * 员工组
     */
    @TableField(value = "employee_group_id")
    private Long employeeGroupId;

    /**
     * 员工子组
     */
    @TableField(value = "employee_subgroup_id")
    private Long employeeSubgroupId;

    /**
     * 参加工作时间
     */
    @TableField(value = "start_working_date")
    private Date startWorkingDate;

    /**
     * 加入上海电气时间
     */
    @TableField(value = "enter_group_date")
    private Date enterGroupDate;

    /**
     * 进入本单位工作时间
     */
    @TableField(value = "enter_company_date")
    private Date enterCompanyDate;

    /**
     * 最高获评职称
     */
    @TableField(value = "highest_professional_title_id")
    private Long highestProfessionalTitleId;

    /**
     * 获评时间
     */
    @TableField(value = "highest_professional_date")
    private Date highestProfessionalDate;

    /**
     * 技能等级
     */
    @TableField(value = "skill_level_id")
    private Long skillLevelId;

    /**
     * 人员状态
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 最高学历
     */
    @TableField(value = "highest_education_id")
    private Long highestEducationId;

    /**
     * 最高学位
     */
    @TableField(value = "highest_degree_id")
    private Long highestDegreeId;

    /**
     * 最高学位毕业院校
     */
    @TableField(value = "highest_degree_school_id")
    private Long highestDegreeSchoolId;

    /**
     * 最高学位专业
     */
    @TableField(value = "highest_degree_major_id")
    private Long highestDegreeMajorId;

    /**
     * 学习形式
     */
    @TableField(value = "learning_form_id")
    private Long learningFormId;

    /**
     * 第一学历
     */
    @TableField(value = "first_education_id")
    private Long firstEducationId;

    /**
     * 第一学历毕业院校
     */
    @TableField(value = "first_education_school_id")
    private Long firstEducationSchoolId;

    /**
     * 第一学历专业
     */
    @TableField(value = "first_education_major_id")
    private Long firstEducationMajorId;

    /**
     * 数据来源:1SAP;2本平台
     */
    @TableField(value = "origin")
    private Integer origin;

    /**
     * 有效性
     */
    @TableField(value = "active")
    private Integer active;

    /**
     * 创建者
     */
    @TableField(value = "postuid", fill = FieldFill.INSERT)
    private Long postuid;

    /**
     * 创建时间
     */
    @TableField(value = "postdate", fill = FieldFill.INSERT)
    private Date postdate;

    /**
     * 修改者
     */
    @TableField(value = "lastuid", fill = FieldFill.INSERT_UPDATE)
    private Long lastuid;

    /**
     * 修改时间
     */
    @TableField(value = "lastdate", fill = FieldFill.INSERT_UPDATE)
    private Date lastdate;

}
